table of contents
DRACUT(8) | System Manager's Manual | DRACUT(8) |
NAME¶
dracut - create initial ramdisk images for preloading modules
SYNOPSIS¶
dracut [OPTION]... <image> <kernel-version>
DESCRIPTION¶
dracut creates an initial image used by the kernel for preloading the block device modules (such as IDE, SCSI or RAID) which are needed to access the root filesystem.
Options¶
- -f, --force
- overwrite existing initramfs file.
- -m, --modules LIST
- specify a space-separated list of dracut modules to call when building the initramfs. Modules are located in /usr/share/dracut/modules.d.
- -o, --omit LIST
- omit a space-separated list of dracut modules.
- -a, --add LIST
- add a space-separated list of dracut modules.
- -d, --drivers LIST
- specify a space-separated list of kernel modules to exclusively include in the initramfs. The kernel modules have to be specified without the ".ko" suffix.
- --add-drivers LIST
- specify a space-separated list of kernel modules to add to the initramfs. The kernel modules have to be specified without the ".ko" suffix.
- --omit-drivers LIST
- specify a space-separated list of kernel modules to omit from the
initramfs. The kernel modules have to be specified without the
".ko" suffix. Regular expressions are also allowed like
".*/fs/ocfs/.*".
If [LIST] has multiple arguments, then you have to put these in quotes.
example: # dracut --omit "module1 module2" ...
- --filesystems LIST
- specify a space-separated list of kernel filesystem modules to exclusively include in the generic initramfs.
- -k, --kmoddir {DIR}
- specify the directory, where to look for kernel modules
- --fwdir {DIR}
- specify additional directory, where to look for firmwares
- --kernel-only
- only install kernel drivers and firmware files
- --no-kernel
- do not install kernel drivers and firmware files
- --mdadmconf
- include local /etc/mdadm.conf
- --nomdadmconf
- do not include local /etc/mdadm.conf
- --strip
- strip binaries in the initramfs (default)
- --nostrip
- do not strip binaries in the initramfs
- -h, --help
- display help text and exit.
- --debug
- output debug information of the build process
- -v, --verbose
- verbose output during the build process
- -c, --conf FILE
- specify configuration file to use. Default: /etc/dracut.conf
- --confdir DIR
- specify configuration directory to use. Default: /etc/dracut.conf.d
- -l, --local
- local mode. Use modules from the current working directory instead of the system-wide installed in /usr/share/dracut/modules.d. Useful when running dracut from a git checkout.
- -H, --hostonly
- Host-Only mode: Install only what is needed for booting the local host instead of a generic host.
- -i, --include SOURCE TARGET
- include the files in the SOURCE directory into the target directory in the final initramfs.
- -I, --install LIST
- install the space separated list of files into the initramfs.
KERNEL COMMAND LINE¶
The root filesystem used by the kernel is specified in the boot configuration file, as always. The traditional root=/dev/hda1 style device specification is allowed. If a label is used, as in root=LABEL=rootPart the initrd will search all available devices for an ext2 or ext3 filesystem with the appropriate label, and mount that device as the root filesystem. root=UUID=uuidnumber will mount the partition with that UUID as the root filesystem.
Standard¶
- init=<path to real init>
- root=<path to blockdevice>
- specify blockdevice to use as root filesystem.
e.g.
root=/dev/sda1
root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 - rootfstype=<filesystem type>
- "auto" if not specified, e.g. rootfstype=ext3
- rootflags=<mount options>
- specify additional mount options for the root filesystem. If not set, /etc/fstab of the real root will be parsed for special mount options and mounted accordingly.
- rootfallback=<path to blockdevice>
- specify the block device to use as the root filesystem, if the normal root cannot be found. This can only be a simple block device with a simple file system, for which the filesystem driver is either compiled in, or added manually to the initramfs. This parameter can be specified multiple times.
- rd_NO_FSTAB
- do not honor special mount options for the root filesystem found in /etc/fstab of the real root.
Misc¶
- hostname=<hostname>
- set the initial hostname
- rdblacklist=<drivername>
- do not load kernel module <drivername> This parameter can be specified multiple times.
- rdloaddriver=<drivername>
- force loading kernel module <drivername> This parameter can be specified multiple times.
- rd_retry=<seconds>
- wait <seconds> until dracut tries to force assemble LVM or RAID
volumes. If the root device is not found within <seconds>*2 then
dracut fails and either drops to a shell, if rdshell is on the kernel
command line, or exits with 1, which normally causes a kernel panic.
Default: rd_retry=40
Debug¶
- rdinfo
- print informational output though "quiet" is set
- rdshell
- allow dropping to a shell, if root mounting fails
- rdinitdebug
- set -x for the dracut shell and logs to dmesg, console and /init.log
- rdbreak
- drop to a shell at the end
- rdbreak={cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot}
- drop to a shell on defined breakpoint
- rdudevinfo
- set udev to loglevel info
- rdudevdebug
- set udev to loglevel debug
I18N¶
e.g.
LANG=en_US.UTF-8
SYSFONT=latarcyrheb-sun16
KEYTABLE=de-latin1-nodeadkeys
- KEYBOARDTYPE=sun|pc
- will be written to /etc/sysconfig/keyboard in the initramfs
- KEYTABLE=<keytable filename>
- will be written to /etc/sysconfig/keyboard in the initramfs
- SYSFONT=Console font
- will be written to /etc/sysconfig/i18n in the initramfs
- SYSFONTACM=Unicode font map
- will be written to /etc/sysconfig/i18n in the initramfs
- UNIMAP=Unicode font map
- will be written to /etc/sysconfig/i18n in the initramfs
- LANG=<locale>
- will be written to /etc/sysconfig/i18n in the initramfs
LVM¶
- rd_NO_LVM
- disable LVM detection
- rd_LVM_VG=<volume group name>
- only activate the volume groups with the given name rd_LVM_VG can be specified multiple times on the kernel command line.
- rd_LVM_LV=<logical volume name>
- only activate the logical volumes with the given name rd_LVM_LV can be specified multiple times on the kernel command line.
- rd_NO_LVMCONF
- remove any /etc/lvm/lvm.conf, which may exist in the initramfs
crypto LUKS¶
- rd_NO_LUKS
- disable crypto LUKS detection
- rd_LUKS_UUID=<luks uuid>
- only activate the LUKS partitions with the given UUID Any "luks-" of the LUKS UUID is removed before comparing to <luks uuid>. The comparisons also matches, if <luks uuid> is only the beginning of the LUKS UUID, so you don't have to specify the full UUID. This parameter can be specified multiple times.
- rd_NO_CRYPTTAB
- do not check, if LUKS partition is in /etc/crypttab
MD¶
- rd_NO_MD
- disable MD RAID detection
- rd_NO_MDIMSM
- no MD RAID for imsm/isw raids, use dmraid instead
- rd_NO_MDADMCONF
- ignore mdadm.conf included in initramfs
- rd_MD_UUID=<md uuid>
- only activate the raid sets with the given UUID. This parameter can be specified multiple times.
DMRAID¶
- rd_NO_DM
- disable DM RAID detection
- rd_DM_UUID=<dmraid uuid>
- only activate the raid sets with the given UUID. This parameter can be specified multiple times.
MULTIPATH¶
- rd_NO_MULTIPATH
- disable multipath in the initramfs
FIPS¶
- fips=1
- enable FIPS
- boot=<bootdevice>
- specify the device, where /boot is located
e.g.
boot=/dev/sda1
boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
boot=UUID=<uuid>
boot=LABEL=<label>If the root device is encrypted, the /boot partition must reside on a seperate partition and has to be specified.
Network¶
- ip={dhcp|on|any|dhcp6|auto6|ibft}
- dhcp|on|any: get ip from dhcp server from all interfaces. If root=dhcp,
loop sequentially through all interfaces (eth0, eth1, ...) and use the
first with a valid DHCP root-path.
auto6: IPv6 autoconfiguration
dhcp6: IPv6 DHCP
ibft: iBFT autoconfiguration
- ip=<interface>:{dhcp|on|any|dhcp6|auto6}
- dhcp|on|any|dhcp6: get ip from dhcp server on a specific interface auto6: do IPv6 autoconfiguration This parameter can be specified multiple times.
- ip=<client-IP>:[<server-id>]:<gateway-IP>:<netmask>:<clienthostname>:<interface>:{none|off}
- explicit network configuration. If you want do define a IPv6 address, put it in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple times.
- ifname=<interface>:<MAC>
- Assign network device name <interface> (ie eth0) to the NIC with MAC <MAC>. Note that if you use this option you must specify an ifname= argument for all interfaces used in ip= or fcoe= arguments This parameter can be specified multiple times.
- bootdev=<interface>
- specify network interface to use routing and netroot information from. Required if multiple ip= lines are used.
- nameserver=<IP> [nameserver=<IP> ...]
- specify nameserver(s) to use
- vlan=<vlanname>:<phydevice>
- Setup vlan device named <vlanname> on <phydeivce>.
We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5) This parameter can be specified multiple times. - bridge=<bridgename>:<ethnames>
- Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated list of physical (ethernet) interfaces. Bridge without parameters assumes bridge=br0:eth0
- bond=<bondname>[:<bondslaves>:[:<options>]]
- Setup bonding device <bondname> on top of <bondslaves>. <bondslaves> is a comma-separated list of physical (ethernet) interfaces. <options> is a comma-separated list on bonding options (modinfo bonding for details) in format compatible with initscripts. If <options> includes multi-valued arp_ip_target option, then its values should be separated by semicolon. Bond without parameters assumes bond=bond0:eth0,eth1:mode=balance-rr
- biosdevname={0|1]}
- turn off/on biosdevname network interface renaming
NFS¶
- root=[<server-ip>:]<root-dir>[:<nfs-options>]
- mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use dhcp next_server. if server-ip is an IPv6 address it has to be put in brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix ":" or "," and are seperated by ",".
- root=nfs:[<server-ip>:]<root-dir>[:<nfs-options>]
- root=nfs4:[<server-ip>:]<root-dir>[:<nfs-options>]
- root=dhcp|dhcp6
- root=dhcp alone directs initrd to look at the DHCP root-path where NFS
options can be specified.
root-path=<server-ip>:<root-dir>[,<nfs-options>]
root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>] - root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
- Deprecated! kernel Documentation/filesystems/nfsroot.txt defines this method. This is supported by dracut but not recommended.
- rd_NFS_DOMAIN=<NFSv4 domain name>
- Set the NFSv4 domain name. Will overwrite the settings in /etc/idmap.conf.
iSCSI¶
- root=iscsi:[username:password[:reverse:password]@][<servername>]:[<protocol>]:[<port>][:[<iscsi_iface_name>]:[<netdev_name>]]:[<LUN>]:<targetname>
- protocol defaults to "6", LUN defaults to "0".
If the "servername" field is provided by BOOTP or DHCP, then that field is used in conjunction with other associated fields to contact the boot server in the Boot stage (Section 7). However, if the "servername" field is not provided, then the "targetname" field is then used in the Discovery Service stage in conjunction with other associated fields.
- root=iscsi:[username:password[:reverse:password]@][<servername>]:[<protocol>]:[<port>][:[<iscsi_iface_name>]:[<netdev_name>]]:[<LUN>]:<targetname>
- e.g. root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
If servername is an IPv6 address, it has to be put in brackets.
e.g.
root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 - root=??? netroot=iscsi:[username:password[:reverse:password]@][<servername>]:[<protocol>]:[<port>][:[<iscsi_iface_name>]:[<netdev_name>]]:[<LUN>]:<targetname> ...
- multiple netroot options allow setting up multiple iscsi disks
e.g.
root=UUID=12424547
netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1If servername is an IPv6 address, it has to be put in brackets.
e.g.
netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 - root=??? iscsi_initiator=<initiator> iscsi_target_name=<target name> iscsi_target_ip=<target ip> iscsi_target_port=<target port> iscsi_target_group=<target group> iscsi_username=<username> iscsi_password=<password> iscsi_in_username=<in username> iscsi_in_password=<in password>
- manually specify all iscsistart parameter (see iscsistart --help)
- root=??? netroot=iscsi iscsi_firmware
- will read the iscsi parameter from the BIOS firmware
- iscsi_param=<param>
- <param> will be passed as "--param <param>" to
iscsistart. This parameter can be specified multiple times.
e.g.:
"netroot=iscsi iscsi_firmware iscsi_param=node.session.timeo.replacement_timeout=30"
will result in
iscsistart -b --param node.session.timeo.replacement_timeout=30
FCoE¶
- fcoe=<edd|interface|MAC>:<dcb|nodcb>
- Try to connect to a FCoE SAN through the NIC specified by <interface> or <MAC> or EDD settings. This parameter can be specified multiple times.
NBD¶
- root=nbd:<server>:<port>[:<fstype>][:<mountopts>]
- mount nbd share from <server>
- root=dhcp
- with dhcp root-path=nbd:<server>:<port>[:<fstype>][:<mountopts>] root=dhcp alone directs initrd to look at the DHCP root-path where NBD options can be specified. This syntax is only usable in cases where you are directly mounting the volume as the rootfs.
DASD¶
- rd_DASD_MOD=....
- same syntax as the kernel module parameter (s390 only)
- rd_DASD=<dasd adaptor device bus ID>[,readonly=X][,use_diag=X][,erplog=X][,failfast=X]
- activate DASD device with the given adaptor device bus ID and setting the sysfs attributes to the specified values This parameter can be specified multiple times.
ZFCP¶
- rd_ZFCP=<zfcp adaptor device bus ID>,<WWPN>,<FCPLUN>
- rd_ZFCP can be specified multiple times on the kernel command line.
example: rd_ZFCP=0.0.4000,0x5005076300C213e9,0x5022000000000000
- rd_NO_ZFCPCONF
- ignore zfcp.conf included in the initramfs
ZNET¶
- rd_ZNET=<nettype>,<subchannels>,<options>
- rd_ZNET can be specified multiple times on the kernel command line.
Examples:
rd_ZNET=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
rd_ZNET=ctc,0.0.0600,0.0.0601,0.0.0602,protocol=bar
Plymouth Boot Splash¶
- rd_NO_PLYMOUTH
- do not start plymouth. This will not work with encrypted partitions.
FILES¶
- /var/log/dracut.log
- /etc/dracut.conf
- see dracut.conf(5)
Configuration in the Initramfs¶
- /etc/conf.d/
- Any files found in /etc/conf.d/ will be sourced in the initramfs to set initial values. Command line options will override these values set in the configuration files.
- /etc/cmdline
- Can contain additional command line options.
AUTHORS¶
Harald Hoyer <harald@redhat.com> Victor Lowther <victor.lowther@gmail.com> Warren Togami <wtogami@redhat.com> Jeremy Katz <katzj@redhat.com> Philippe Seewer <philippe.seewer@bfh.ch> David Dillow <dave@thedillows.org>
AVAILABILITY¶
The dracut command is part of the dracut package and is available from http://sourceforge.net/apps/trac/dracut/wiki
SEE ALSO¶
June 2009 | Linux |